package prueba.PrimefacesSVN;

import java.io.IOException;
import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import com.sun.faces.context.StateContext;

import prueba.PrimefacesSVN.model.Usuario;
import prueba.PrimefacesSVN.persistencia.UsuariosAbstract;

@ManagedBean
@ViewScoped
public class LoginBean extends UsuariosAbstract implements Serializable {

	private static final long serialVersionUID = 1L;

	private String usuario;
	private String password;

	public void compruebaLogin() {

		Usuario login = (Usuario) (compruebaExistencia(
				"SELECT u FROM Usuario u WHERE u.login = :login ", usuario));
		if (login != null) {
			if (!login.getPassword().equals(password)) {
				usuario="";
				password="";
				FacesContext.getCurrentInstance().addMessage(
						null,
						new FacesMessage(
								"Error de autentificación. Revise los datos."));

			} else {
				FacesContext ctx = FacesContext.getCurrentInstance();
				String path = ctx.getExternalContext().getRequestContextPath();

				FacesContext contex = FacesContext.getCurrentInstance();
				try {
					contex.getExternalContext().redirect(path+"/pg/logged.xhtml");
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				FacesContext.getCurrentInstance().addMessage(null,
						new FacesMessage("Datos correctos."));
			}
		}
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}